The WeaveClientクラスはWeaveサービスと対話するための主要なインターフェースです。これは呼び出し、データセット、モデル、その他のWeaveオブジェクトを管理するためのメソッドを提供します。

コンストラクタ

from weave import WeaveClient

client = WeaveClient(project: str)

パラメータ

  • project (str) - 「entity/project」形式のプロジェクト識別子

メソッド

add_cost

呼び出しにカスタムコスト追跡を追加します。
client.add_cost(
    costs: Dict[str, float],
    call_id: Optional[str] = None
) -> None

パラメータ

  • costs (Dict[str, float]) - コストメトリクスの辞書(例:{"prompt_tokens": 100, "completion_tokens": 50}
  • call_id (Optional[str]) - コストを追加する呼び出しID。Noneの場合、現在の呼び出しコンテキストを使用します。

client.add_cost({
    "prompt_tokens": 100,
    "completion_tokens": 50,
    "total_cost": 0.002
})

query_costs

様々なフィルターで呼び出しのコストを照会します。
client.query_costs(
    project_id: Optional[str] = None,
    filters: Optional[Dict] = None
) -> List[Dict]

purge_costs

IDによってカスタムコストを削除します。
client.purge_costs(cost_ids: List[str]) -> None

get_call

IDによって特定の呼び出しを取得します。
call = client.get_call(call_id: str) -> Call

パラメータ

  • call_id (str) - 呼び出しの一意の識別子

戻り値

  • Call - 呼び出しの詳細を含むCallオブジェクト

call = client.get_call("call_123456")
print(call.inputs)
print(call.output)

get_calls

フィルターを使用して複数の呼び出しを照会します。
calls = client.get_calls(
    filter: Optional[CallsFilter] = None,
    limit: Optional[int] = None,
    offset: Optional[int] = None
) -> List[Call]

パラメータ

  • filter (Optional[CallsFilter]) - 呼び出しのフィルター条件
  • limit (Optional[int]) - 返す呼び出しの最大数
  • offset (Optional[int]) - スキップする呼び出しの数

delete

呼び出しを削除します。
# Delete a single call
call.delete()

# Delete multiple calls
client.delete_calls(call_ids: List[str])

set_display_name

呼び出しの表示名を設定または更新します。
call.set_display_name(display_name: str) -> None

データセットの操作

save

データセットをWeaveに保存します。
dataset = weave.Dataset(rows=[...])
weave.publish(dataset, "my-dataset")

get

名前でデータセットを取得します。
dataset = weave.ref("my-dataset").get()

モデルの操作

save

モデルをWeaveに保存します。
model = MyModel(...)
weave.publish(model, "my-model")

get

参照によってモデルを取得します。
model = weave.ref("my-model").get()
完全な例と高度な使用法については、Weave ドキュメントをご覧ください。